延續上一篇文章的步驟,目前還有obj.data檔案以及模型的cfg檔要進行設定,這邊要說明一下先前下載的yolov3.weight以及yolov4.weight是用來測試的權重檔,若是要下載用來訓練yolov3模型的預訓練權重檔為darknet53.conv.74以及yolov4.conv.137。
#目標辨識類別的數量
classes = 4
#訓練集以及測試集的list txt檔案位置
train = cfg/train.txt
valid = cfg/valid.txt
#類別名稱檔案位置
names = cfg/obj.names
#權重檔的儲存路徑
backup = cfg/weights
修改的內容為filters=(classes + 5) * 3
,因為我們要檢測的類別為4類,所以filters數量=(4+5)*3=27。
darknet.exe detector train .\cfg\obj.data .\cfg\yolov3.cfg cfg\darknet53.conv.74
darknet.exe detector train .\cfg\obj.data .\cfg\yolov4-custom.cfg cfg\yolov4.conv.137
out of memory:
原因:可能影像無法按照設定的batch數將batch影像匯入到顯卡記憶體當中。
解決辦法: 以yolov4為例,訓練yolov4時出現out of memory錯誤時,開啟cfg資料夾中的yolov4-custom.cfg檔案,將文件最上方training的batch以及subdivisions值,改成小一點的數字,或是調整輸入影像大小。